Lịch sử Bộ nhớ ảo

Vào những năm thập niên bốn mươi, năm mươi thế kỉ 20, tất cả những phần mềm lớn cần phải có những Logic trong việc quản lý các thiết bị lưu trữ cấp 1 và 2, như là phương pháp Overlaying. Bộ nhớ ảo đã được giới thiệu không những làm mở rộng bộ nhớ cấp 1, mà còn giúp các lập trình viên dễ dàng trong việc sử dụng. Để chấp nhận cho việc chạy đa chương (multiprogramming) và đa nhiệm (multitasking), nhiều hệ thống đầu tiên đã chia bộ nhớ chạy nhiều chương trình mà không cần bộ nhớ ảo, ví dụ như PDP-10 via registersBản mẫu đầu tiên của bộ nhớ ảo được lần đầu tiên phát triển bởi nhà vật lý người Đức Fritz-Rudolf Güntsch tại Technische Universität Berlin vào năm 1956 trong bài luận án tiến sĩ của ông, Logical Design of a Digital Computer with Multiple Asynchronous Rotating Drums and Automatic High Speed Memory Operation; mô tả về một cỗ máy với 6 “100 khối” lõi bộ nhớ và một vùng địa chỉ với 1000 “100 khối”, với phần cứng tự động dịch chuyển các khối giữa bộ nhớ cấp 1 và bộ nhớ drum cấp 2. Paging đã được thiết lập tại Đại học Manchester như là một cách để mở rộng bộ nhớ làm việc của máy tính Atlas bằng cách hợp 16 ngàn lõi bộ nhớ cấp 1 với 96 ngàn bộ nhớ drum cấp 2. Máy tính Atlas được sử dụng đầu tiên vào năm 1962 nhưng nó đã được chạy những nguyên bản của paging vào năm 1959. Vào năm 1961, Tổng công ty Burroughs đã độc lập tuyên bố phiên bản máy tính thương mại đầu tiên với bộ nhớ ảo, B5000, với những segments (hơn paging).Trước khi bộ nhớ ảo được tạo trong hệ điều hành chính, đã xuất hiện nhiều lỗi về địa chỉ bộ nhớ. Bộ dịch địa chỉ động (Dynamic Address Translation) có giá rất mắc và rất khó để thiết lập phần cứng, những lần làm việc đầu tiên đã làm chậm tốc độ truy cập bộ nhớ từ từ. Đã có những lo lắng về hệ thống mới với những thuật toán mở để sử dụng lưu trữ cấp 2 sẽ không hiệu quả hơn những thuật toán trước đó. Vào năm 1969, những cuộc tranh luận về bộ nhớ ảo phiên bản thương mại chấm dứt, một đội nghiên cứu IBM của David Sayre đã chỉ ra rằng hệ thống bộ nhớ ảo của họ hoạt động ổn định tốt hơn những hệ thống điều khiển bằng tay khác. Phiên bản máy tính mini đầu tiên đã sử dụng bộ nhớ ảo mới với tên là Norwegian NORD-1. Trong suốt những năm 70 thế kỉ 20, nhiều máy tính mini khác cũng giới thiệu bộ nhớ ảo, đáng chú ý nhất là đời VAX chạy dưới nền VMS.Bộ nhớ ảo được công bố với kiến trúc x86 dưới chế độ bảo vệ của Bộ vi xử lý Intel 80286. Intel 80386 đã giới thiệu công nghệ paging dưới nhiều lớp, mở khả năng hoạt động các trang lỗi. Tuy nhiên, việc tải những ký tự rất tốn kém, từ đó những nhà thiết kế Hệ Điều Hành hoàn toàn tin tưởng trong việc sử dụng paging tốt hơn một sự kết hợp giữa Paging và Segmentation.